#include<bits/stdc++.h>
using namespace std;
#define all(x) (x).begin(),(x).end()
#define rall(x) (x).rbegin(),(x).rend()
const int N = 1e5 + 10;
#define INF 0x3f3f3f3f;
typedef long long int ll;
#define close(); std::ios::sync_with_stdio(false);cin.tie(0),cout.tie(0);
//----------------------------------------------------------------------------//
int n, m;

//int a[N], ans[N];
int ans[N];
bool v[N];

void solve()
{
    // memset(ans, -1, sizeof ans);
    // cin >> n >> m;

    // for(int i = 1; i <= m; i++) cin >> a[i];

    // map<int, int> mp;

    // int cnt = n, pos = 0;
    // for(int i = 1; i <= m; i++)
    // {
    //     if(!mp[a[i]])
    //     {
    //         ans[cnt] = ++pos;
    //         cnt--;
    //         mp[a[i]]++;

    //     }
    //     else pos++;
    // }

    // for(int i=1;i<=cnt;i++)
    // {
    //  if(!ans[i]) ans[i]=-1;
    // }


    // for(int i=1;i<=n;i++)
    // {
    //  cout<<ans[i]<<" ";
    // }
    // cout<<'\n';

    cin >> n >> m;
    for(int i = 1; i <= n; i++) ans[i] = -1;
    for(int i = n + 1; i <= n + m; i++) v[i] = 0;
    int pos = n;
    for(int i = 1; i <= m; i++)
    {
        int x;
        cin >> x;
        if (pos >= 1 && !v[x])
        {
            ans[pos] = i;
            pos--;
        }
        v[x] = 1;
    }
    for(int i = 1; i <= n; i++)
        cout << ans[i] << " ";
    cout<<'\n';



}

int main()
{
    close();
    int T;
    cin >> T;
    while (T--) solve();
    return 0;
}
//1-n